package com.h2n.utils;

import java.security.NoSuchAlgorithmException;
import java.security.MessageDigest;
import java.io.UnsupportedEncodingException;

/**
 * Created by IntelliJ IDEA.
 * User: NhatNV
 * Date: Sep 21, 2009
 * Time: 10:43:12 PM
 * To change this template use File | Settings | File Templates.
 */
public class MD5 {
  private static String convertToHex(byte[] data) {
    StringBuffer buf = new StringBuffer();
    for (int i = 0; i < data.length; i++) {
      int halfbyte = (data[i] >>> 4) & 0x0F;
      int two_halfs = 0;
      do {
        if ((0 <= halfbyte) && (halfbyte <= 9))
          buf.append((char) ('0' + halfbyte));
        else
          buf.append((char) ('a' + (halfbyte - 10)));
        halfbyte = data[i] & 0x0F;
      } while(two_halfs++ < 1);
    }
    return buf.toString();
  }

  public static String encrypt(String text) throws NoSuchAlgorithmException, UnsupportedEncodingException {
      MessageDigest md;
      md = MessageDigest.getInstance("MD5");
      byte[] md5hash = new byte[32];
      md.update(text.getBytes("iso-8859-1"), 0, text.length());
      md5hash = md.digest();
      return convertToHex(md5hash);
  }

  public static void main(String[] args) throws Exception{
    String nhatnv = "nhatnv";
    System.out.println(MD5.encrypt(nhatnv));
  }
}
